Ana içeriğe geç

If - Let Yapıları

If let yapıları match yapılarını yazmanın kısa yolu olarak sadece tek bir duruma karşılık gelecek şekilde yazabiliriz. Ayrıca bu yapıya else ekleyerek tüm kümeyi kapsayabiliriz. Bu yapıyı oluşturmak için enum yapısı ile oluşturduğumuz değerleri Some() yapısı ile birleştirebiliriz.

let dog2 = Some(EvcilHayvan::kopek);
if let Some(EvcilHayvan::kopek) = dog2 {
println!("Bu bir köpüştür");
} else {
println!("Köpüş değildir bu aa");
}

Aynı zamanda let yapısını while dögülerinde de kullanabiliriz.

let mut stack = Vec::new();
stack.push(1);
stack.push(2);
stack.push(3);

while let Some(top) = stack.pop(){
println!("{}", top);
}
// 3
// 2
// 1

Kodumuzu anlatmamız gerekirse ilk olarak bir vektör oluşturarak içerisine 1,2,3 değerlerini gireriz. Sonrasında while let döngüsü içerisinde listeden pop yapmamıza izin verilen her değeri sırasıyla yazdırırız.